/**
 * Created by Administrator on 2017-09-04.
 */

var $ = {

    getParameter: function (data) {
        var result = "";
        for (var key in data) {
            result = result + key + "=" + data[key] + "&";
        }

        //去除最后一个 & 号
        return result.slice(0, -1);


    },
    ajax: function (option) {
        /*1.判断有误参数 是否是一个对象*/
        if (option == null || typeof option != "object") {
            return false;
        }

        /*2.获取请求类型*/
        var type = option.type || 'GET';

        /*3.获取请求的url location.pathname是当前发起请求的地址*/
        var url=option.url || location.pathname;

        /*4.获取请求传递的参数*/
        var data=url.data || {};

        /*5.取得拼接后的参数*/
        data=this.getParameter(data);

        /*6.获得请求传递的回调函数*/
        var success=option.success || function () {};

        /*7.开始发去异步请求*/
        /*7.1创建异步请求对象*/
        var xhr=new XMLHttpRequest();

        /*7.2设置请求行*/
        if(type='GET'){
            url=url+"?"+data;
            data=null;
        }

        xhr.open(type,url);

        /*7.3如果是post则设置请求头*/
        if(type=="POST"){
            xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        }

        /*7.4 设置请求提传递参数*/
        xhr.send(data);

        /*8处理响应*/

        xhr.onreadystatechange=function () {
            /*9判断响应是否成功*/
            if(xhr.status==200 && xhr.readyState==4){
                var result=null;
                /*10 获取响应头*/
                var xxt=xhr.getResponseHeader("Content-Type");

                console.log(xxt);

                if(xxt.indexOf("json")!=-1){
                    result=JSON.parse(xhr.responseText);
                }else if(xxt.indexOf("xml")>-1){
                    result=xhr.responseXML;

                }else{
                    result=xhr.responseText;
                }
                /*11将数据返回到回调函数*/

                success(result);
            }

        };



        /*7.3*/





    }
};